package com.tanhua.server.service;

import com.alibaba.dubbo.config.annotation.Reference;
import com.tanhua.common.pojo.User;
import com.tanhua.common.utils.UserThreadLocal;
import com.tanhua.dubbo.server.api.UserLocationApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * 描述: 用户地理位置业务层
 * 作者: 张帆
 * 创建时间: 2021/7/8 16:53
 */
@Service
@Slf4j
public class BaiduService {
    @Reference(version = "1.0.0")
    private UserLocationApi userLocationApi;

    /**
     * 更新用户地理位置
     *
     * @param longitude 经度
     * @param latitude  纬度
     * @param address   位置描述
     * @return
     */
    public Boolean updateLocation(Double longitude, Double latitude, String address) {
        User user = UserThreadLocal.get();
        try {
            // 调用dobbo服务
            return this.userLocationApi.updateUserLocation(user.getId(), longitude, latitude, address);
        } catch (Exception e) {
            log.error("更新地理位置失败~ userId = " + user.getId() + ", longitude = " + longitude +
                    ", latitude = " + latitude + ", address = " + address, e);
        }
        return false;
    }
}
